
#include<iostream>

using namespace std;
#define ll long long
const int N=1e5+10,mod=998244353;

int n;
ll d[N],dm=-1,ans=1;
ll quick_pow(ll a,ll b){
	ll res=1;
	while(b){
		if(b&1)
			res=res*a%mod;
		a=a*a%mod;
		b>>=1;
	}
	return res;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		ll x;
		scanf("%lld",&x);
		dm=max(dm,x);
		d[x]++;
	}
	for(int i=dm;i>=2;i--){
		ans=ans*quick_pow(d[i-1],d[i])%mod;
	}
	printf("%lld\n",ans);
	return 0;
}
